/**
 * 审批流程类型
 * 1：合同
 * 2：结算请款（付款申请）
 * 3：历史合同
 * 4：精力分配
 * 5: 签约内审
 * 6: 申请原件
 * 7: 开票申请
 * 8: 发票作废
 * 9: 还款申请
 * 10: 借款申请
 * 11：员工报销
 * 12: 自定义审批
 * 13: 转换欠款
 * 14: 达人解约
 * 15：客户调额申请
 * 16: 外采额度申请
 * 17: 达人初筛
 * 18: 达人上刊
 * */
export const PROCESS_TYPE = {
  CONTRACT: 1,
  SETTLE: 2,
  HISTORY: 3,
  ENERGY: 4,
  SIGNUP: 5,
  ORIGINAL: 6,
  ISSUE_INVOICE: 7,
  ABANDON_INVOICE: 8,
  PAYBACK: 9,
  LOAN: 10,
  REIMBURSEMENT: 11,
  APPROVAL: 12,
  ARREARS_TRANSFER: 13,
  TERMINATION: 14,
  CUSTOMER_ADJUSTMENT: 15,
  EXTERNALHARVEST: 16,
  BLOGGER_FILTER: 17,
  UP_ONLINE: 18
};

/**
 * 审批人变更业务类型
 * -1: 成本管理
 * 0：合同评论
 * 1：供应商请款
 * 2：精力分配
 * 3：签约内审
 * 4: 申请原件
 * 5: 开票申请
 * 6: 发票作废
 * 7：员工报销
 * 8：借款申请
 * 9：还款申请
 * 10: 自定义审批
 * 11: 转交欠款
 * 12: 达人解约
 * 13：客户调额申请
 * 14: 外采额度申请
 * 15: 达人初筛
 * 16: 达人上刊
 * */
export const BUSINESS_TYPE = {
  COST: -1, // 无审批流，后端不接收该参数，仅前端判断用
  CONTRACT: 0,
  SETTLE: 1,
  ENERGY: 2,
  SIGNUP: 3,
  ORIGINAL: 4,
  ISSUE_INVOICE: 5,
  INVOICEABNDON: 6,
  REIMBURSEMENT: 7,
  LOAN: 8,
  PAYBACK: 9,
  APPROVAL: 10,
  ARREARS_TRANSFER: 11,
  TERMINATION: 12,
  CUSTOMER_ADJUSTMENT: 13,
  EXTERNALHARVEST: 14,
  BLOGGER_FILTER: 15,
  UP_ONLINE: 16
};

/**
 * 审批流程
 * 0 - 已作废
 * 1 - 已提交
 * 2 - 撤回
 * 3 - 审批中
 * 4 - 已审批
 * 5 - 未过审
 * 6 - 未审批
 * 7 - 已转交
 * 8 - 待提交
 * 9 - 审批转交
 * */
export const PROCESS_NODE_STATUS = {
  REVOKED: 0,
  SUBMITTED: 1,
  WITHDRAW: 2,
  PENDING: 3,
  AUDITED: 4,
  REJECTED: 5,
  NOT_PERFORMED: 6,
  FORWARDED: 7,
  NOT_SUBMIT: 8,
  PERSON_CHANGE: 9
};

/**
 * 审批日志流评论显示状态
 * 1: 展示日志和评论
 * 2: 展示评论
 * 3: 隐藏评论
 * */
export const COMMENT_STATUS = {
  SHOW_ALL: 1,
  SHOW_COMMENT: 2,
  HIDE_COMMENT: 3
};

/**
 * 模块id对应跳转页面路由名称，自定义审批列表需对应引入该列表组件
 * */
export const ROUTE_PARAMS = new Map([
  [-1, 'ContractManagement'],
  [14, 'original'],
  [3, 'supplier'],
  [12, 'energy'],
  [13, 'signUp'],
  [15, 'issueInvoice'],
  [16, 'invoiceAbandon'],
  [17, 'reimbursement'],
  [18, 'loan'],
  [19, 'payBack'],
  [21, 'arrearsTransfer'],
  [22, 'termination'],
  [23, 'customerAdjustment'],
  [24, 'externalHarvest'],
  [25, 'filter'],
  [26, 'upOnline']
]);

/**
 * 流程列表/审批模块 合同之类id集合
 * 推广销售类: 1,
 * 渠道采买类: 2,
 * IP商业授权类: 5,
 * 一般购销/委托服务类: 6,
 * 合同/kol/直播类: 7,
 * 机构/平台合作类: 8,
 * 电商产品购销类: 9,
 * 投资类: 10,
 * 其他类: 11
 */
export const CONTRACT_TYPES = [1, 2, 5, 6, 7, 8, 9, 10, 11];

/**
 * 审批事件
 * 1: 开启合同回收
 * 2: 开启合同编号生成
 * 3: 节点之后生成归档编号
 * 4: 开启发票编辑
 * 5: 自动确认付款
 * 6: 业务回收合同
 * 7: 表单编辑
 * 8: 编辑积分
 * 9: 开票申请开启发票填写
 * 10: 编辑说明
 * 11: 快照欠款金额
 * 12: 开启印章类型事件
 * 13: 开启支付时间事件
 * 14: 关联到账流水
 * 15: 业务会计审批节点
 * 16: 节点后可作废发票
 * 17: 开启修改授权人
 * 18: 签约内审-同步资源
 * 19: 签约内审-关联合同
*/
export const EVENT_TYPE = {
  TURN_ON_CONTRACT_RECYCLING: 1,
  OPEN_CONTRACT_NO_GENERATE: 2,
  AFTER_NODE_GENERATE_ARCHIVE_CODE: 3,
  OPEN_INVOICE_EDIT: 4,
  OPEN_AUTO_CONFIRM_PAY: 5,
  BUSINESS_RECYCLE_CONTRACT: 6,
  FORM_EDIT: 7,
  POINTS_EDIT: 8,
  INVOICE_APPLY_EDIT_INVOICE: 9,
  EDIT_EXPLAIN: 10,
  SNAPSHOT_AMOUNT_OWED: 11,
  OPEN_STAMP_TYPE: 12,
  OPEN_PAY_TIME: 13,
  RELEATE_FINANCE_TXN: 14,
  BUSINESS_ACCOUNTING: 15,
  INVALID_INVOICE: 16,
  AUTHUSER_EDIT: 17,
  SYNC_ACCOUNT: 18,
  ASSOCIATE_CONTRACT: 19
};

/**
 * 自定义审批事件动作
 * 1：字段隐藏
 * 2：字段显示
 * 3：启用字段
 * 4：必填
 * 5：节点后隐藏
 * 6：节点后显示
 * 7：节点后启用填写
 * 8：节点只读
 * */
export const CUSTOM_PROCESS_EVENT = {
  TURN_ON_FIELD_HIDE: 1,
  TURN_ON_FIELD_DISPLAY: 2,
  TURN_ON_FIELD_ENABLE: 3,
  TURN_ON_FIELD_REQUIRED: 4,
  // TURN_ON_FIELD_HIDE_AFTER_APPROVE: 5,
  // TURN_ON_FIELD_SHOW_AFTER_APPROVE: 6,
  // TURN_ON_FIELD_ENABLE_AFTER_APPROVE: 7,
  TURN_ON_FIELD_READ_ONLY: 8
};

/**
 * 固定审批流程类型(非自定义，以流程设置列表admin/processManagement/list返回的type为准)
 * 0: 人事行政类合同流程
 * 1: 推广销售类合同流程
 * 2: 渠道类合同流程
 * 3: 付款申请(请款、供应商结算)
 * 5: IP商业授权类流程
 * 6: 委托服务类流程
 * 7: kol类流程
 * 8: 平台合作类流程
 * 9: 电商产品购销类流程
 * 10: 投资类流程
 * 11: 其他类流程
 * 12: 精力分配
 * 13: 签约内审
 * 14: 申请原件
 * 15: 开票申请
 * 16: 发票作废
 * 17: 员工报销
 * 18: 借款申请
 * 19: 还款申请
 * 21: 转交欠款
 * 22: 达人解约
 * 23: 客户调额申请
 * 24: 外采额度申请
 * 25: 达人初筛
 * 26: 达人上刊
 * */
export const FIXED_PROCESS_TYPE = {
  ADMINISTRATION_CONTRACT: 0, // 人事行政类合同流程
  SALE_CONTRACT: 1, // 推广销售类合同流程
  CHANNEL_CONTRACT: 2, // 渠道类合同流程
  PAYMENT_APPLY: 3, // 付款申请(请款、供应商结算)
  IP_AUTHORIZATION: 5, // IP商业授权类流程
  GENERA_PURCHASE: 6, // 一般购销/委托服务类
  TALENT: 7, // kol类流程
  MECHANISM: 8, // 平台合作类流程
  ECOMMERCE: 9, // 电商产品购销类流程
  INVESTMENT: 10, // 投资类流程
  OTHER: 11, // 其他类流程
  EFFORT_ALLOCATION: 12, // 精力分配
  SIGN_UP: 13, // 签约内审
  APPLY_ORIGINAL: 14, // 申请原件
  INVOICE_APPLY: 15, // 开票申请
  INVOICE_ABANDON: 16, // 发票作废
  REIMBURSEMENT: 17, // 员工报销
  BORROW_APPLY: 18, // 借款申请
  REPAY_APPLY: 19, // 还款申请
  ARREARS_TRANSFER: 21, // 转交欠款,
  TERMINATION: 22,
  CUSTOMER_ADJUSTMENT: 23,
  EXTERNALHARVEST: 24,
  BLOGGER_FILTER: 25,
  UP_ONLINE: 26
};

/**
 流程设计节点设置角色类型
 -1:默认值
 0:任务创建人
 1:选择部门
 2:自定义人员
 3:不限制审批人
 4:申请人
 5:主管
 6:任务发起节点（非角色，作为发起节点的判断值）
 7:指定人员选择字段
 8:创建人直属上级
 9:角色组
 10:BP指定审批人
 11:飞来询单
 12: 转交欠款
 13：授权人
 14：指定人员主管
 * */
export const ROLE_TYPE = {
  DEFAULT: -1, // 默认值
  CREATOR: 0, // 任务创建人
  DEPARTMENT: 1, // 选择部门
  CUSTOMIZE: 2, // 自定义人员
  UNLIMITED: 3, // 不限制审批人
  PROPOSER: 4, // 申请人
  DIRECTOR: 5, // 主管
  INITIATING_NODE: 6, // 任务发起节点（非角色，作为发起节点的判断值）
  DESIGNATE: 7, // 指定人员选择字段
  CREATOR_SUPERIOR: 8, // 创建人直属上级
  ROLE_GROUP: 9, // 角色组
  BP_APPROVER: 10, // 获取BP指定审批人
  FLYNOTICE: 11, // 飞来询单
  ARREARS_USERS: 12, // 转交欠款-指定人员字段
  AUTHUSER: 13, // 授权人
  DESIGNATE_DIRECTOR: 14 // 指定人员主管
};

/**
 固定表单BP审批人指定部门字段
 * */
export const BPDepartment = {
  [FIXED_PROCESS_TYPE.REIMBURSEMENT]: [{ key: '1', name: '申请部门' }, { key: '2', name: '分摊部门' }],
  [FIXED_PROCESS_TYPE.INVOICE_APPLY]: [{ key: '1', name: '申请部门' }],
  [FIXED_PROCESS_TYPE.PAYMENT_APPLY]: [{ key: '1', name: '申请人部门' }, { key: '2', name: '款项归属' }, { key: '3', name: '分摊部门' }],
  [FIXED_PROCESS_TYPE.BORROW_APPLY]: [{ key: '1', name: '申请部门' }],
  [FIXED_PROCESS_TYPE.REPAY_APPLY]: [{ key: '1', name: '申请部门' }],
  [FIXED_PROCESS_TYPE.INVOICE_ABANDON]: [{ key: '1', name: '申请部门' }],
  [FIXED_PROCESS_TYPE.SIGN_UP]: [{ key: '1', name: '所属部门' }],
  [FIXED_PROCESS_TYPE.APPLY_ORIGINAL]: [{ key: '1', name: '所属部门' }],
  [FIXED_PROCESS_TYPE.ARREARS_TRANSFER]: [{ key: '1', name: '所属部门' }],
  [FIXED_PROCESS_TYPE.TERMINATION]: [{ key: '1', name: '所属部门' }],
  [FIXED_PROCESS_TYPE.EXTERNALHARVEST]: [{ key: '1', name: '所属部门' }, { key: '2', name: '申请部门' }],
  [FIXED_PROCESS_TYPE.BLOGGER_FILTER]: [{ key: '1', name: '所属部门' }],
  [FIXED_PROCESS_TYPE.CUSTOMER_ADJUSTMENT]: [{ key: '1', name: '申请部门' }, { key: '2', name: '所属部门' }],
  [FIXED_PROCESS_TYPE.EFFORT_ALLOCATION]: [{ key: '1', name: '申请人部门' }],
  // 和同类
  [FIXED_PROCESS_TYPE.ADMINISTRATION_CONTRACT]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.SALE_CONTRACT]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.CHANNEL_CONTRACT]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.IP_AUTHORIZATION]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.GENERA_PURCHASE]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.TALENT]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.MECHANISM]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.ECOMMERCE]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.INVESTMENT]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }],
  [FIXED_PROCESS_TYPE.OTHER]: [{ key: '1', name: '创建人部门' }, { key: '2', name: '申请人部门' }]
};
// 流程设置-条件节点 人员字段的用户类型
export const userTypeList = [
  { value: '自定义人员', id: 0 }, { value: '任务创建人', id: 1 }, { value: '选择部门', id: 2 },
  { value: '角色组', id: 3 }, { value: '获取BP人员', id: 4 }
];

// 购销委托类合同 合同日期/付款方式
export const COOPER_DATE_TYPES = {
  '1': '单次采买(产品/服务)类',
  '2': '委托服务(附期限采购)类',
  '3': '单次/框架销售类',
  '4': '兼职人员合作'
};
